package com.keli.dt.algorithm;

import java.math.BigDecimal;

import com.keli.dt.model.LaneReport;

public class RoadReportAlgo {
	/**
	 * 计算车流率
	 * @param volume 车流量
	 * @param laneNum 有数据的车道数
	 * @return
	 */
	public static BigDecimal flow(BigDecimal volume, int laneNum) {
		return volume.multiply(new BigDecimal(3600))
				.divide(LaneReport.DEFAULT_CYCLE).divide(new BigDecimal(laneNum));
	}
	
	/**
	 * 分析速度
	 * @param speed 道路平均速度
	 * @param flowMotor 机动车流率
	 * @param density 平均车流密度
	 * @return
	 */
	public static BigDecimal calcSpeedANA(BigDecimal speed, BigDecimal flowMotor, String density) {
		double v = speed.doubleValue();
		double f = flowMotor.doubleValue();
		double d = Double.parseDouble(density);
		
		double result = (v + f / d) / 2;
		
		return new BigDecimal(String .format("%.2f", result));
	}
}
